#include <iostream>
using namespace std;
#include "header/add.h"

int main() {
    //const 修饰指针 常量指针 指针的指向可以修改 但是值不可以修改
    int a = 10;
    int b = 20;
    //int * p = &a;
    const int * p = &a;
    //*p = 30; 值无法修改
    p=&b; //指向可以修改

    //const 修饰常量  指正指向不可以改 但是值可以修改
    int c = 10;
    int d = 20;
    int * const p1 = &c;
    *p1 = 40;
    //p1 = &d; //指向不可以修改

    //const 既修饰指正 既修饰常量 指正指向和值都不可以修改
    const int * const p2 = &a;


//    //定义指针
//    int a =0;
//    int * p = &a;
//    cout << a << endl << p << endl;
//
//    //使用指针 指针前+ *
//    *p = 1000;
//    cout << *p << endl << a << endl;
//
//    //指针占用的内存空间
//    cout << "int * 占用内存空间" << sizeof(p) << endl;
//
//    //空指针给指针变量初始化
//    int * n = NULL;
//    //空指针无法访问
//    cout << n;
//
//    //野指针
//    int * y = (int *)0x1100;
//    cout << *y;
}
